# -*- mode: snippet -*-
# name: def with type hints
# key: def_with_type_hints
# contributor: Shuguang Sun
# --
from typing import Callable, Union

def ${1:func}(
    fnc: Callable[[Union[int, float]], Union[int, float]],
    x_start: Union[int, float],
    x_end: Union[int, float],
    steps: int = 100,
    ${2:arg}: ${3:int = 100},
) -> ${4:float}:
    """
    $0
    :param $1: a function which defines a curve

    """

    